The delivery of real-time multimedia traffic over wireless networks is expected to be an important application in Third Generation Cellular, WiFi and WiMAX wireless networks. In these applications, streams of multimedia information such as digital data representing images and sounds are organized into packets. Multimedia sources send streams of these packets to processing devices such as routers or wireless access points that transmit the packets over communication channels to end-user receivers. If a processing device is unable to transmit a packet immediately, it temporarily stores the packet in a queue or buffer until it can be transmitted. For example, a wireless access point may not be able to transmit a packet when the wireless communication channel is being used by another processing device.
When a processing device such as a router receives information at a higher rate than it can transmit, the amount of information stored in the queue or buffer will increase. If the incoming rate remains higher than the outgoing rate for a long enough period of time, the level of occupancy for stored-information in the buffer will increase until it reaches a maximum level of occupancy that is dictated by the storage capacity of the buffer. During this condition, which is referred to as buffer overflow, information loss is inevitable because the processing device must either discard information as it arrives or it must discard information from the buffer to obtain space to store the arriving information. In typical wireless networks that conform to the IEEE 802.11a or 802.11g standards, for example, processing devices such as wireless access points and routers receive information from wired communication paths operating at rates up to 100 Mb/s and they forward or transmit that information over wireless communication paths that operate at rates no higher than 54 Mb/s. If the processing device receives information from the wired path at a rate near 100 Mb/s, for example, it cannot transmit information over the wireless path at a rate that is high enough to keep up with the rate the received information arrives. The level of buffer occupancy will increase until the demand for buffer storage exceeds the buffer capacity. Some information will be lost because it must be discarded before it can be forwarded or transmitted.
Information can also be lost because of noise or interference in the transmission channel. This type of loss is common in many wireless networks but it can be reduced through the use of re-transmission and forward-error correction (FEC) techniques. Unfortunately, these techniques increase the amount of data that must be transmitted, thereby decreasing the effective rate at which information can be transmitted by the processing devices and, as a result, impose a greater demand for buffer storage.
International patent application no. PCT/US2006/020861 entitled “Method and System for Optimizing Forward Error Correction of Multimedia Streaming over Wireless Networks” by Bauer and Jiang filed May 26, 2006, publication no. WO 2007/005160 published Jan. 11, 2007, describes techniques that may be used to select a pair of FEC parameters (n, k) for a packet-based network that minimize information loss caused by buffer overflow for a set of n packets, where k=a number of packets carrying multimedia data and (n−k)=a number of error-correcting packets in the set of n packets. (This application is referred to below as the “FEC Optimization Application” and its contents are incorporated herein by reference in their entirety.) These techniques require several input parameters including the maximum level of buffer occupancy, referred to here as the buffer size or buffer capacity, and the rate at which competing or interfering information arrives at the processing device. What is needed is a way to estimate these parameters without having a knowledge of and without having access to the internal operation of the processing device.
The loss of information caused by buffer overflow may be reduced or eliminated by use of another technique that controls the rate at which a source provides information to the processing device. What is needed is a way to implement this technique using a measure of the level of buffer occupancy that can be obtained without having a knowledge of or having access to the internal operation of the processing device.